# 使用官方 Node.js 镜像作为基础镜像
FROM node:latest as build

# 创建并设置工作目录
WORKDIR /app

# 设置 npm 使用国内源
RUN npm config set registry https://registry.npmmirror.com/

# 复制 package.json 和 package-lock.json
COPY package*.json ./

# 安装项目依赖
RUN npm install

# 复制项目文件
COPY . .

# 编译 TypeScript 代码，确保构建文件输出到 /app/src 目录
RUN npm run build

# 使用轻量级的 Node.js 镜像
FROM alpine/node:latest

# 创建并设置工作目录
WORKDIR /app

# 复制构建输出
COPY --from=build /app/src /app/src

# 开放端口 8000
EXPOSE 8000

# 启动应用程序
CMD ["npm", "start"]